

isGetConfig = false
configDatas = {}

function isExistWifiConfig()
    local wifis = getWifiConfig()
    if(wifis == nil) then
        return false
    end
    return true
end

function getWifiConfig()
    local configs
    if(not isGetConfig) then
        configs = __getAllConfig()
    else
        configs = configDatas
    end
    if(configs == nil) then
        return nil
    end
    return configs["wifi"]
end

function updateConfigByText(text)
    --local t = cjson.encode(configDatas)
    print("__updateConfigByText:"..text)
    if file.open("config.ini", "w") then
      file.write(text)
      file.close()
    end
    isGetConfig = false
    __getAllConfig()
end

function updateWifiConfig(ssid, password)
    local wifis = getWifiConfig()
    wifis.ssid = ssid
    wifis.password = password
    local t = cjson.encode(configDatas)
    updateConfigByText(t)
end

function __getAllConfig()
    --print("__getAllConfig")
    if(isGetConfig) then
        return configDatas
    end
    local tmpText = __loadConfigText()
    if(tmpText ~= nil) then
        configDatas = cjson.decode(tmpText)
        isGetConfig = true
        --print("__getAllConfig"..configDatas["wifi"]["ssid"])
        return configDatas
   end
   configDatas = {}
   return configDatas
end 

function __loadConfigText()
    local configs = nil
    if(file.open("config.ini", "r")) then
        configs = file.read()
        file.close()
    end
    return configs
end

